开始之前:

1. 识别标签输出相关数据

在标签识别功能下,HUSKYLENS 2 能识别出现在画面中的AprilTag标签,可以通过编程获取画面中离十字光标最近的标签的相关数据并在串口打印出来,可以读取标签数据有:标签ID、标签内容、标签宽度、标签高度以及标签中心点的X坐标位置和Y坐标位置。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的标签识别功能。

Interface Diagram

当识别出标签后,观察HUSKYLENS 2 的屏幕会将标签框出,并在方框的左上角显示解析出的标签内容,打开Mind+的串口,观察串口输出离十字光标最近的一个标签的相关数据。
运行结果:如下,对于未学习过的标签默认输出ID为0,串口输出的标签内容与HUSKYLENS 2 的屏幕显示的保持一致。

Interface Diagram

运行结果:如下,对学习过的标签串口输出的标签ID,标签内容与HUSKYLENS 2的屏幕显示的保持一致。

Interface Diagram

注意:当发现标签完整的出现在摄像头画面中,但HUSKYLENS 2 识别不出来时,请检查标签的尺寸是否与参数Dict设置的标签尺寸保持一致。
如何使用标签识别功能,详细操作请看:标签识别功能说明
AprilTag标签在线生成网站链接:https://www.2weima.com/aruco.html

2. 统计标签总数输出指定标签的数据

当画面中出现多张标签时,可以使用以下示例程序统计画面中的标签数量,获取指定ID标签的相关数据。

示例程序如下

Interface Diagram

运行结果:如下,当画面中出现多个标签时,HUSKYLENS 2 可以识别到所有标签(未学习和已学习的),通过串口能观察统计的当前画面的标签总数。同时串口输出打印指定的标签ID为1的标签的相关数据。

Interface Diagram

3. 统计指定标签数量输出相关数据

当画面中出现多张同一ID的标签(已学习的标签ID按学习顺序分配,未学习的标签ID统一为0)时,可以使用以下示例程序统计画面中的同一ID标签的数量,获取指定一张ID标签的相关数据。
示例程序如下

Interface Diagram

运行结果:如下,当画面中出现多个相同标签时,HUSKYLENS 2 可以识别画面中所有ID为1的标签(前提时已学习某一标签并分配ID为1,未学习过的标签统一ID为0),通过串口能观察统计的当前画面的ID1标签总数。同时串口输出第一张ID为1的标签的相关数据。

Interface Diagram

4. 标签识别积木说明

积木 说明
HUSKYLENS 2 的标签识别功能下,用于获取一次标签识别的数据结果。
判断当前画面中是否存在标签。
获取离屏幕十字光标最近的一个标签的相关数据,包括标签的ID、标签中心点X坐标、标签中心点Y坐标、宽度、高度和解析出的标签内容。
获取屏幕中所有检测到的标签的数量,包括未学习的和已学习的标签。
当出现多个标签时,获取某一指定标签的相关数据。
判断指定ID的标签是否存在在画面中。未学习的标签ID统一为0,已学习的标签ID按学习顺序排序。
获取当前画面中指定ID的标签数量。
获取当前画面中指定ID的标签的相关数据。
当出现多个同一ID的标签时,获取某一指定标签的相关数据。
HUSKYLENS 2已学习的标签的ID总数量,例如当HUSKYLENS 2学习过3种标签,ID分别为ID1、ID2、ID3,无论这3种标签是否出现在画面中,使用此积木则输出结果为3。